package cn.ilovese.collect.service.report;

import cn.ilovese.collect.vo.NullVO;
import cn.ilovese.collect.vo.OthersEvaluateAbilityVO;
import cn.ilovese.collect.vo.ResultVO;
import cn.ilovese.collect.vo.report.*;

import java.util.List;

public interface ScoreService {
    ResultVO<ScoreVO> postScoreOfReport(ScoreVO scoreVO);
    ResultVO<NullVO> deleteScoreOfReport(Integer commentid);
    ResultVO<ScoreVO> getMyScoreOfReport(Integer reportid,Integer workerid);
    ResultVO<ScoreVO> updateScoreOfReport(ScoreVO scoreVO);
    ResultVO<ScoreAllVO> getScoresOfReport(Integer reportid,Integer loginid);
    ResultVO<ComprehensiveScoreVO> getCompreScoreOfReport(Integer reportid);
    ResultVO<NullVO> likeScore(Integer userid,Integer commentid);
    ResultVO<NullVO> unlikeScore(Integer userid,Integer commentid);
    ResultVO<BossScoreVO> postBossScoreOfReport(BossScoreVO bossScoreVO);
    ResultVO<NullVO> deleteBossScoreOfReport(Integer commentid);
    ResultVO<BossScoreVO> getBossScoreOfReport(Integer reportid);
    ResultVO<BossScoreVO> updateBossScoreOfReport(BossScoreVO bossScoreVO);
    ResultVO<List<ReportVO>> getScoredReports(Integer userId);
    ResultVO<List<ReportWithWorkerNameVO>> getRecommendReports(Integer userId);
    ResultVO<ScoreAbilityVO> getGeneralScoreAbility(Integer userId);
    ResultVO<OthersEvaluateAbilityVO> getOthersEvaluateAbility(Integer workerid);
}
